package com.owo.mapper;

import com.owo.pojo.Article;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface ArticleMapper {
    // 新增文章
    @Insert("insert into article (title, content, cover_img, state, category_id, create_user, create_time, update_time) " +
            "values(#{title}, #{content}, #{coverImg}, #{state}, #{categoryId}, #{createUser}, #{createTime}, #{updateTime})")
    void add(Article article);

    // 根据用户ID、分类ID、状态查询文章列表
    List<Article> list(Integer userId, Integer categoryId, String state);

    // 更新文章
    @Insert("update article set title = #{title}, content = #{content}, cover_img = #{coverImg}, state = #{state}, category_id = #{categoryId}, update_time = #{updateTime} where id = #{id}")
    void update(Article article);

    // 根据ID查询文章
    @Select("select * from article where id = #{id}")
    Article findById(Integer id);

    // 根据ID删除文章
    @Delete("delete from article where id = #{id}")
    void delete(Integer id);
}
